Industrial automation systems typically include networks that allow multiple distributed automation devices to communicate with each other. These network devices typically communicate with each other by sending and receiving messages via the network. The network devices nearly always follow an agreed communication protocol defining certain data format, timing, and collision rules, as well as physical requirements such as signal voltages and currents as well as device impedances. For example, some networks follow a universal serial bus (USB) communication protocol, others may follow an Ethernet communication protocol, and still other networks may follow a CANopen communication protocol based on the controller area network (CAN) standard.
Under some communication protocols, message receipt is presumed. In other communication protocols a response to the message from the recipient network device is expected. The response may be a simple acknowledgement of message receipt and/or may include other information. In either case, there is often a known time to wait between sending each of multiple messages to a recipient device and/or between sending a message and expecting to receive a response thereto. Typically, this wait time is recipient independent. That is, for a given message, the wait time is the same for all recipient network devices. In such networks, the wait time is normally determined to be the worst-case (i.e., maximum) expected wait time that would occur in the network during normal operation.
This one-size-fits-all wait time may work in some networks, but quickly becomes cumbersome in other networks, especially in large industrial automation networks. For instance, the larger the network, the more the aggregate wait time may be expected to increase, since a proportionally larger amount of time may be spent waiting for an offline or faulty device to respond. In addition, startup times may be adversely affected in larger networks. Network devices in a smaller network may be able to be exposed to a higher throughput than if those same network devices were in a larger network with a larger wait time. For instance, the USB communication protocol defines a wait time of ten milliseconds for each device. However, this inflexible approach typically limits the practical size of such a network. Moreover, as electronics and computer technology improves, network devices continue to quicken their processing and response times. To account for this network device improvement, many communication protocols have been revised to reduce wait times. For instance, the USB 1.0 communication protocol eventually developed into the higher speed USB 2.0 communication protocol, which has a reduced fixed wait time.
Nonetheless, in all of the above discussed network approaches, imposed uniform communication specifications have held back industrial automation network performance. This is especially true with larger networks and/or networks that have varied network devices with disparate response times and/or other characteristics.